package com.dds.system.service.union;

import java.util.List;
import java.util.Map;

import com.dds.system.domain.union.UnionShopIndex;

/**
 * 联盟商家Service接口
 * 
 * @author gaolianjie
 * @date 2021-03-31
 */
public interface IUnionShopIndexService 
{
    /**
     * 查询联盟商家
     * 
     * @param shopId 联盟商家ID
     * @return 联盟商家
     */
    public UnionShopIndex selectUnionShopIndexById(String shopId);

    /**
     * 查询联盟商家列表
     * 
     * @param unionShopIndex 联盟商家
     * @return 联盟商家集合
     */
    public List<UnionShopIndex> selectUnionShopIndexList(UnionShopIndex unionShopIndex);

    /**
     * 新增联盟商家
     * 
     * @param unionShopIndex 联盟商家
     * @return 结果
     */
    public int insertUnionShopIndex(UnionShopIndex unionShopIndex);

    /**
     * 修改联盟商家
     * 
     * @param unionShopIndex 联盟商家
     * @return 结果
     */
    public int updateUnionShopIndex(UnionShopIndex unionShopIndex);

    /**
     * 批量删除联盟商家
     * 
     * @param shopIds 需要删除的联盟商家ID
     * @return 结果
     */
    public int deleteUnionShopIndexByIds(String[] shopIds);

    /**
     * 删除联盟商家信息
     * 
     * @param shopId 联盟商家ID
     * @return 结果
     */
    public int deleteUnionShopIndexById(String shopId);

    /**
     * 获取首页数据
     * @return 结果
     */
    public Map<String, Integer> getIndexData();

    /**
     * 获取商家审核列表数据
     * @param type 类型
     * @param shopName 商家名称
     * @param serverName 服务商名称
     * @param corpName 企业名称
     * @param legalPersonName 法人姓名
     * @return 结果
     */
    List<Map<String, Object>> selectExamineList(String type, String shopName, String serverName, String corpName, String legalPersonName);


    /**
     * 审核店铺
     * @param params 参数
     * @param adminUserId 后台用户id
     * @return 结果
     */
    Map<String, Object> examineShop(String params, Long adminUserId);

    /**
     * 商家审核详情
     * @param shopId 商家id
     * @return 结果
     */
    Map<String, Object> selectUnionShopIndexByIdForExamine(String shopId);

    /**
     * 获取未定义运营人员列表
     * @return 数据
     */
    List<Map<String, Object>> selectNoOperationList();

    /**
     * 店铺转移
     * @param params 参数
     * @return 结果
     */
    boolean changeShopOperation(Map<String, String> params);
}
